package com.cn.wanxi.servlet.product;

import com.alibaba.fastjson.JSONObject;
import com.cn.wanxi.model.ProductModel;
import com.cn.wanxi.service.IProductService;
import com.cn.wanxi.service.impl.ProductServiceImpl;
import com.cn.wanxi.util.LoadImg;
import com.cn.wanxi.util.Tool;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.ImageProducer;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.UUID;

@WebServlet("/back/product/add")
public class ProductAddServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        /**
         * 0：乱码
         * 1.得到前端的数据
         * 2.封装数据到对象
         * 3.调用服务逻辑层
         * 4.得到服务逻辑层返回来的数据
         * 5.将数据返回给前端
         */
        //        0：乱码
        req.setCharacterEncoding("UTF-8");
        resp.setCharacterEncoding("UTF-8");
        LoadImg.saveImg(req);

        //保存数据库的是相对路径2.封装数据到对象
        ProductModel productModel = new ProductModel();
        productModel.setName((String) req.getAttribute("productName"));

        productModel.setCuisineId(Tool.stringToInt(req.getAttribute("cuisineId")));
        productModel.setNormalPrice(Tool.stringToFloat(req.getAttribute("normalPrice")));
        productModel.setPrice(Tool.stringToFloat(req.getAttribute("price")));
        productModel.setImgHref((String) req.getAttribute("imgHref"));
        productModel.setIsRecommend(req.getAttribute("isRecommend").equals("on") ? 1 : 0);
        productModel.setIsShow(req.getAttribute("isShow").equals("1") ? 1 : 0);
        productModel.setContent((String) req.getAttribute("content"));

        IProductService iProductService = new ProductServiceImpl();
        String result = iProductService.add(productModel);

        JSONObject jsonObject = new JSONObject();
        jsonObject.put("result", result);
        resp.getWriter().println(jsonObject);

    }
}
